#pragma once

#include "sys/IInterface.h"
#include "sys/ISerializable.h"
#include "sys/IDisposable.h"
#include "CoreDataID.h"

interface IObjectMoveStrategy;
interface IConnection;

interface IDataEntity : public IInterface, public IDisposable, public ISerializable
{
	DEFINE_IID(IID_DataEntity)

	virtual void Create(IConnection* connection,objectid id)=0;

	virtual IConnection* GetConnection() const  = 0;
	virtual objectid GetID()const=0;
	virtual String GetEntityName() const = 0;
	virtual void SetEntityName(const String& value)  = 0;
	virtual bool IsNull() const  = 0;
};